﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComputerGraphics.Geometry;
using ComputerGraphics.Graphics;

namespace ComputerGraphics.Graphics
{
    public class Scene
    {
        private ColorTriple bkgCol;
        private AmbientLight ambLight;
        private List<Shape> shapes = new List<Shape>();
        private List<PointLight> pointLights = new List<PointLight>();

        public Scene(ColorTriple backGroundColor, AmbientLight ambientLight)
        {
            this.bkgCol = backGroundColor;
            this.ambLight = ambientLight;
        }

        public void AddShape(Shape s)
        {
            shapes.Add(s);
        }

        public void AddPointLight(PointLight pointLight)
        {
            pointLights.Add(pointLight);
        }

        public List<Shape> Shapes
        {
            get { return shapes; }
        }

        public ColorTriple BackGroundColor
        {
            get { return bkgCol; }
        }

        public List<PointLight> PointLights
        {
            get { return pointLights; }
        }

        public AmbientLight AmbientLight
        {
            get { return ambLight; }
            set { ambLight = value; }
        }
    }
}
